/**
 * Copyright (c) 2006 RiseSoft Co.,Ltd  
 * $Header$
 */
package net.risesoft.risebi.collection.model;

import java.io.Serializable;
import java.sql.Timestamp;

import org.apache.commons.lang.builder.CompareToBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;

/**
 *
 *
 * @author <a href="mailto: chenjian@risesoft.net">陈健</a>
 * @version $Revision$
 * 
 */

public class ReportInstanceR6 implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3152889391433280246L;

	private String reportTaskID;

	private String reportID;

	private String preReportID;

	private String preYearReportID;

	private String reportTemplateID;

	private String[] reportTemplateIDs;// 同一个模板组或者同时保存的报表的模板S

	private String period;

	private int month = 1;

	private String regionID;

	private String projectID = "0";

	private String memory;

	private Timestamp firstDate;

	private Timestamp currentDate;

	private int rowCount = 0;

	private String cacheStatus = "0";

	private String lockStatus = "0";

	private String writeStatus = "0";

	private String checkStatus = "0";

	private String updateFlag = "0";

	private String reportFlag = "1";
	
	private String warningFlag = "";

	private Timestamp reportTime;

	private int realRowCount = 0;

	private String unitLeader;// 单位负责人

	private String statisticsLeader;// 统计负责人

	private String preparer;// 填表人

	private String verifier;// 审表人

	private String reportedDate;// 上报日期

	private String telephone;// 联系电话

	private String template_guid;

	public String getTemplate_guid() {
		return template_guid;
	}

	public void setTemplate_guid(String template_guid) {
		this.template_guid = template_guid;
	}

	public int compareTo(Object o) {
		return CompareToBuilder.reflectionCompare(this, o);
	}

	public boolean equals(Object o) {
		return EqualsBuilder.reflectionEquals(this, o);
	}

	public String getCacheStatus() {
		return cacheStatus;
	}

	public String getCheckStatus() {
		return checkStatus;
	}

	public Timestamp getCurrentDate() {
		return this.currentDate;
	}

	public Timestamp getFirstDate() {
		return this.firstDate;
	}

	public String getLockStatus() {
		return this.lockStatus;
	}

	public String getMemory() {
		return this.memory;
	}

	public int getMonth() {
		return this.month;
	}

	public String getPeriod() {
		return this.period;
	}

	public String getPreparer() {
		return preparer;
	}

	public String getPreReportID() {
		return preReportID;
	}

	public String getPreYearReportID() {
		return preYearReportID;
	}

	public String getProjectID() {
		return this.projectID;
	}

	public int getRealRowCount() {
		return realRowCount;
	}

	public String getRegionID() {
		return this.regionID;
	}

	public String getReportedDate() {
		return reportedDate;
	}

	public String getReportFlag() {
		return reportFlag;
	}

	public String getReportID() {
		return this.reportID;
	}

	public String getReportTaskID() {
		return this.reportTaskID;
	}

	public String getReportTemplateID() {
		return this.reportTemplateID;
	}

	public String[] getReportTemplateIDs() {
		// 在删除报表的时候
		if (reportTemplateIDs == null) {
			reportTemplateIDs = new String[] { reportTemplateID };
		}
		return reportTemplateIDs;
	}

	public Timestamp getReportTime() {
		return this.reportTime;
	}

	public int getRowCount() {
		return this.rowCount;
	}

	public String getStatisticsLeader() {
		return statisticsLeader;
	}

	public String getTelephone() {
		return telephone;
	}

	public String getUnitLeader() {
		return unitLeader;
	}

	public String getUpdateFlag() {
		return this.updateFlag;
	}

	public String getVerifier() {
		return verifier;
	}

	public String getWriteStatus() {
		return writeStatus;
	}

	public int hashCode() {
		return HashCodeBuilder.reflectionHashCode(this);
	}

	public void setCacheStatus(String cacheStatus) {
		this.cacheStatus = cacheStatus;
	}

	public void setCheckStatus(String checkStatus) {
		this.checkStatus = checkStatus;
	}

	public void setCurrentDate(Timestamp value) {
		this.currentDate = value;
	}

	public void setFirstDate(Timestamp value) {
		this.firstDate = value;
	}

	public void setLockStatus(String value) {
		this.lockStatus = value;
	}

	public void setMemory(String value) {
		this.memory = value;
	}

	public void setMonth(int value) {
		this.month = value;
	}

	public void setPeriod(String value) {
		this.period = value;
	}

	public void setPreparer(String preparer) {
		this.preparer = preparer;
	}

	public void setPreReportID(String preReportID) {
		this.preReportID = preReportID;
	}

	public void setPreYearReportID(String preYearReportID) {
		this.preYearReportID = preYearReportID;
	}

	public void setProjectID(String value) {
		this.projectID = value;
	}

	public void setRealRowCount(int realRowCount) {
		this.realRowCount = realRowCount;
	}

	public void setRegionID(String value) {
		this.regionID = value;
	}

	public void setReportedDate(String reportedDate) {
		this.reportedDate = reportedDate;
	}

	public void setReportFlag(String reportFlag) {
		this.reportFlag = reportFlag;
	}

	public void setReportID(String value) {
		this.reportID = value;
	}

	public void setReportTaskID(String reportTaskID) {
		this.reportTaskID = reportTaskID;
	}

	public void setReportTemplateID(String value) {
		this.reportTemplateID = value;
	}

	public void setReportTemplateIDs(String[] reportTemplateIDs) {
		this.reportTemplateIDs = reportTemplateIDs;
	}

	public void setReportTime(Timestamp value) {
		this.reportTime = value;
	}

	public void setRowCount(int value) {
		this.rowCount = value;
	}

	public void setStatisticsLeader(String statisticsLeader) {
		this.statisticsLeader = statisticsLeader;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	public void setUnitLeader(String unitLeader) {
		this.unitLeader = unitLeader;
	}

	public String getWarningFlag() {
		return warningFlag;
	}

	public void setWarningFlag(String warningFlag) {
		this.warningFlag = warningFlag;
	}

	public void setUpdateFlag(String value) {
		this.updateFlag = value;
	}

	public void setVerifier(String verifier) {
		this.verifier = verifier;
	}

	public void setWriteStatus(String writeStatus) {
		this.writeStatus = writeStatus;
	}
 
	public String toString() {
		return ReflectionToStringBuilder.toString(this);
	}


}
